/*20/09 0:20
 * Tp final
 * Rotta Damián - Klikailo Héctor
 */
package Logica;

import Excepciones.YaExiste;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class Aplicacion {
    private Date fecha;
    private boolean estado;
    private Map<String,Personal> personal;
    private Plantacion unaPlantacion;
    private Quimico unQuimico;


    public Aplicacion(Quimico unQuimico) {
        this.unQuimico = unQuimico;
    }

    public Aplicacion(Date fecha, Map<String, Personal> personal, Plantacion unaPlantacion, Quimico unQuimico) {
        this.fecha = fecha;
        this.personal = personal;
        this.unaPlantacion = unaPlantacion;
        this.unQuimico=unQuimico;
    }

    public Aplicacion(){
        this.personal= new HashMap();
        this.estado=true;
    }

    public Aplicacion(Date fecha, Plantacion unaPlantacion){
        this.fecha=fecha;
        this.unaPlantacion=unaPlantacion;
        this.estado=true;
    }

    public void setFecha(Date fecha){
        this.fecha=fecha;
    }

    public Date getFecha(){
        return this.fecha;
    }
    
    public void bajaAplicacion(Aplicacion unaAplicacion){
        unaAplicacion.estado=false;
    }

    public Quimico getQuimico() {
        return unQuimico;
    }

    public void setQuimico(Quimico unQuimico) {
        this.unQuimico = unQuimico;
    }

    public boolean isEstado() {
        return estado;
    }

    public void setEstado(boolean estado) {
        this.estado = estado;
    }

    public Map<String, Personal> getPersonal() {
        return personal;
    }

    public void setPersonal(Map<String, Personal> personal) {
        this.personal = personal;
    }

    public Plantacion getPlantaciones() {
        return this.unaPlantacion;
    }

    public void setPlantaciones(Plantacion unaPlantacion) {
        this.unaPlantacion = unaPlantacion;
    }
    public void aplicar(Date fecha, Plantacion unaPlantacion){
        Aplicacion unaAplicacion = new Aplicacion(fecha,unaPlantacion);
    }
    
    public Plantacion getPlantacion(){
        return this.unaPlantacion;
    }

    public Map<String, Personal> buscarPersonalPorFecha(Date fechaP) {
        this.fecha = fechaP;
        personal = getPersonal();
        return this.personal; }

    public boolean agregarQuimico(Quimico unQuimico) throws YaExiste {
        String aux = unQuimico.getNombre();
         boolean retorno=false;
            if(!unQuimico.equals(aux)){
                this.unQuimico=unQuimico;
                retorno = true;
            }
            else
                throw new YaExiste("El Quimico ",aux,"ya existe");
            return retorno; 
    }    
    }
